<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组的四个方法</title>
</head>
<body>
    
</body>
</html>
<script>
    // 创建一个数组
    var arr = ["孙悟空","猪八戒","沙和尚","白龙马"];
    

    /*
        push() 方法1️⃣
            - 该方法可以向数组的末尾添加一个或多个元素，并返回数组的新的长度
            - 可以将要添加的元素作为方法的参数传递
                这样这些元素将会自动添加到数组的末尾
            - 该方法会将数组的新的长度作为返回值返回
    */
    var result = arr.push("唐僧","白骨精");
    console.log(arr,arr.push());
    console.log(result);


    /*
        pop() 方法2️⃣
            - 该方法可以删除数组的最后一个元素,并将删除的元素作为返回值返回
    */
    arr.pop();
    result = arr.pop();
    console.log(arr,"-------",result);

    /*
        unshift() 方法3️⃣
            - 向数组开头添加一个或多个元素，并返回新的数组长度
            - 向前变插入元素以后，其他的元素索引会依次调整
    */
    console.log(arr);
    result = arr.unshift("玉皇大帝","王母娘娘","太上老君");
    console.log(arr);
    console.log(result);

    /*
        shift() 方法4️⃣
            - 可以删除数组的第一个元素，并将被删除的元素作为返回值返回
    */
    result = arr.shift();
    result = arr.shift();
    console.log(arr,"result = "+result);

    console.log("========== 扩展 =========")
    /*
        sort() 方法5️⃣
            - 可以对数组进行排序(排序机制暂时不确定)
            - 如数组为纯Number型，则可以利用function(a,b){return a-b}
                这样可以使数组按照数值的大小排序
                语法:
                     数组名.srot(function(a,b){return a-b;});
    */
    arr =[8,4,5,"hello",7,"你好",6,9,12];
    result = arr.sort(function(a,b){return a-b;});
    console.log(result);
</script>